Every day, several quintillion bytes of data may be created around the world. This data comes from everywhere: posts to social media sites, digital pictures and videos, purchase transaction records, bank transactions, sensors used to gather data and intelligence, like climate information, cell phone GPS signal, and many others. This type (e.g., kind) of data and its vast accumulation is often referred to as “big data.” This vast amount of data eventually is stored and maintained in storage nodes, such as solid-state storage drives (SSDs), and the like, and these may reside on networks or on storage accessible via the Internet. This stored data may require processing, or be subject to operations, such as search, query, encryption/decryption, compression, decompression, and/or other processes.
Recently, SSDs have gained significant traction in enterprise datacenters and are increasingly replacing conventional hard disk drive (HDD) due to the SSDs' high performance, low power consumption, and continuously decreasing cost-per-gigabyte. One drawback to utilizing SSD is that in applications involving frequent writes to the SSD, valid data may be fragmented across the non-volatile memory (e.g., flash memory) of the SSD. Free space may be reclaimed by performing garbage collection, which copies user data to new storage blocks and erases invalid data blocks, thus freeing up storage space for writing new data. However, regular performance of garbage collection is an overhead that decreases both SSD read and write performance. Garbage collection further results in “write amplification,” as a single host data write request may result in several internal SSD read and writes to the non-volatile memory. This includes, for example, first reading valid data from a storage block that is to be erased, then rewriting the read valid data to another storage block, followed by another write operation to store new host data in the non-volatile memory. As a result, write amplification reduces the effective lifetime of the SSD as each memory chip can undergo a finite number of writes before eventually failing.
The above information disclosed in this Background section is only for enhancement of understanding of the background of the invention and therefore it may contain information that does not form the prior art that is already known to a person of ordinary skill in the art.